#ifndef EVENTMANAGER_HPP_
#define EVENTMANAGER_HPP_

#include <string>
#include <map>
#include <vector>

class Action;

class EventManager
{
	public:
		EventManager() {}

		//this directly posts an event to all listeners that want it
		void postEvent(std::string eventName);
		void registerListener(std::string eventName, Action* eventListener);
		
		void clearEventListeners(std::string eventName);

	private:
		std::map<std::string, std::vector<Action*>> m_Listener;
};

#endif
